package cn.iune.erp.inventory;

import java.math.BigDecimal;
import java.sql.Date;
import java.text.ParseException;
import java.util.List;
import com.alibaba.fastjson.JSONObject;

import cn.iune.common.base.IBizDataIface;

public interface IStorageLedgerDetailService extends IBizDataIface {

	List<StorageLedgerDetail> getAll();

	StorageLedgerDetail getByID(String fID);

	void delete(String fID);

	void insert(StorageLedgerDetail obj);

	StorageLedgerDetail update(StorageLedgerDetail obj);

	JSONObject save(JSONObject object) throws ParseException ;

	List<StorageLedgerDetail> getByMasterID(String fMasterID);

	List<StorageLedgerDetail> getCostingLLDList(String workNo, Date dateStart, Date dateEnd, String enterpriseNo);

	List<StorageLedgerDetail> getCostingRKDList(Date dateStart, Date dateEnd, String enterpriseNo);

	List<StorageLedgerDetail> getListByItemID(String itemID, Date dateStart, Date dateEnd, String enterpriseNo);

	List<StorageLedgerDetail> getCostingWWDList(Date dateStart, Date dateEnd, String enterpriseNo);

	List<StorageLedgerDetail> getCostingRKDListByWorkNo(Date dateStart, Date dateEnd, String workNo,
			String enterpriseNo);

	StorageLedgerDetail getByNo(String recordNo, String serialNo, String revOpay, String enterpriseNo);


	StorageLedgerDetail insert(String recordNo, String serialNo, String fMasterID, String systemCode, String billType,
			String billTypeName, String revOpay, String costingCode, int dealType, Date orderDate, String tradeobjType,
			String tradeobjTypeLabel, String tradeobjID, String tradeobjNo, String shortName, String tradeobjName,
			String storageType, String storageTypeLabel, String storageID, String storageNo, String storageName,
			String floorNo, String itemID, String itemNo, String itemName, String itemProperty, String unitCode,
			String unitName, int validDays, int checkoutAgainDays, BigDecimal itemQuantity, BigDecimal pieceQuantity,
			BigDecimal materialAmountPer, BigDecimal workingAmountPer, BigDecimal manufactAmountPer,
			BigDecimal processAmountPer, BigDecimal costingAmountPer, BigDecimal materialAmount,
			BigDecimal workingAmount, BigDecimal manufactAmount, BigDecimal processAmount, BigDecimal costingAmount,
			String batchNo, String batchDescribe, Date produceDate, Date validDate, Date checkoutAgainDate,
			String storeNo, String projectNo, String workNo, int frozenFlag, String userId, String enterpriseNo,
			String enterpriseName);

	StorageLedgerDetail insert(String recordNo, String serialNo, String fMasterID, String systemCode, String billType,
			String billTypeName, String revOpay, String costingCode, int dealType, Date orderDate, String tradeobjType,
			String tradeobjTypeLabel, String tradeobjID, String tradeobjNo, String shortName, String tradeobjName,
			String storageType, String storageTypeLabel, String storageID, String storageNo, String storageName,
			String floorNo, String itemID, String itemNo, String itemName, String itemProperty, String unitCode,
			String unitName, int validDays, int checkoutAgainDays, BigDecimal itemQuantity, BigDecimal pieceQuantity,
			BigDecimal materialAmountPer, BigDecimal workingAmountPer, BigDecimal manufactAmountPer,
			BigDecimal processAmountPer, BigDecimal costingAmountPer, BigDecimal materialAmount,
			BigDecimal workingAmount, BigDecimal manufactAmount, BigDecimal processAmount, BigDecimal costingAmount,
			BigDecimal itemQuantityL, BigDecimal pieceQuantityL, BigDecimal costingAmountL,
			BigDecimal costingAmountPerL, String batchNo, String batchDescribe, Date produceDate, Date validDate,
			Date checkoutAgainDate, String storeNo, String projectNo, String workNo, int frozenFlag, String userId,
			String enterpriseNo, String enterpriseName);
















}